/*—————————————————————————————————————————————————————————— 404页面 ——————————————————————————————————————————————————————————*/

// 数据+css引入
import React from 'react'
import './page404.scss'

// 路由hooks引入
// --------------------------------------------------------------------------------------------------------
import { useNavigate } from 'react-router-dom'

// 公共方法
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
import { getToken } from '@/utils/userMessage' // 获取内存中的token

// 组件引入
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
import Pages from '@/components/pagesBox/pages' // 页面公共组件
import { Button, Result } from 'antd'
import { HappyProvider } from '@ant-design/happy-work-theme'

// 页面书写区
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
const Page404: React.FC<unknown> = () => {
  // 参数结构
  const navigate = useNavigate()

  // 函数使用区
  // ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

  // 事件函数
  // 页面返回的点击函数
  const backMainPage = () => {
    const backPath = getToken() ? '/index' : '/login'
    navigate(backPath, { replace: true })
  }

  // 返回的点击函数
  // =========================================================================================
  const goBack = () => {
    navigate(-1)
  }

  // dom元素区域
  // ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
  return (
    <Pages className="page404">
      <Result
        className=" page404-result"
        status="404"
        title="404"
        subTitle="抱歉！此页面不存在！"
        extra={
          <HappyProvider>
            <Button type="primary" onClick={backMainPage}>
              {getToken() ? '返回首页' : '返回登录页'}
            </Button>

            <Button onClick={goBack}>返回</Button>
          </HappyProvider>
        }
      />
    </Pages>
  )
}

export default Page404
